#ifndef _RAY_H
#define _RAY_H

#include "Common.h"

namespace Pandora
{

	class CRay
	{
		CVector3 start;
		CVector3 direction;
	public:
		CRay() : start(CVector3(0.0f, 0.0f, 0.0f)), direction(CVector3(0.0f, 0.0f, 0.0f)) {}

		CVector3& GetStartPoint() { return start; }
		CVector3& GetDirection() { return direction; }
		
		void SetStartPoint(CVector3& st) { start = st; }
		void SetStartPoint(CVector3* st) { start = *st; }
		void SetStartPoint(float x, float y, float z) { start = CVector3(x, y, z); }
		void SetDirection(CVector3& dir) { direction = dir;}
		void SetDirection(CVector3* dir) { direction = *dir;}
		void SetDirection(float x, float y, float z) { direction = CVector3(x, y, z);}
	};

}; //namespace Pandora

#endif /* _RAY_H */